<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>RKNPU DDK: tensor.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">RKNPU DDK
   &#160;<span id="projectnumber">1.3.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_063fc4e4818385ae84b46306c1f7aeef.html">rknpu</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">tensor.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="tensor_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">// Copyright (c) 2020 by Fuzhou Rockchip Electronics Co., Ltd. All Rights Reserved.</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">// Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">// you may not use this file except in compliance with the License.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">// You may obtain a copy of the License at</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//     http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">// Unless required by applicable law or agreed to in writing, software</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">// distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">// See the License for the specific language governing permissions and</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">// limitations under the License.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="types_8h.html">rknpu/types.h</a>&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacerk.html">rk</a> {</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">namespace </span>nn {</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">   27</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">TensorRole</a> {</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bad6f4440b8633f973d33c78928bdac2e1">VAR</a> = 0,                    </div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bab4f1540c6f7bdeebaa42943a2405478d">CONST</a>,                      </div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bae44f9e348e41cb272efa87387728571b">DATA</a>,                       </div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;};</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">   35</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">PrecisionType</a> : int {</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0,                </div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965daee9d73311ff0658494edfff14c3ec1e3">INT8</a> = 1,</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da5f90af42814c0a419d715d43ae54fd7a">INT16</a>,</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da6495adba09844fac8eeb0aba86e6f1bf">INT32</a>,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da4e866b275c85fbb439f6484251cfb31c">INT64</a>,</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965daecfc091ed2a607335524c8389cfa41b5">UINT8</a> = 5,</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da48d8f1a723d44ff4a87db1bb6c551c62">UINT16</a>,</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da17266551181f69a1b4a3ad5c9e270afc">UINT32</a>,</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da6de7acf711860176ba606e9aa2b85d5f">UINT64</a>,</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965dac49f280a5ad551ccc77be0b01a2f386a">FLOAT16</a> = 9,</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da967d280b5c16d95f2947647dd2ca6cc2">FLOAT32</a>,</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da139882c654db8a57f7c3092de1dd0b02">FLOAT64</a>,</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da05afd9eb8887a406d47474cd3809a5dd">BOOL8</a> = 12,</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da44119bf3bae5d40a8d0766b91c304aac">NUM</a> = 13,                   </div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;};</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65c">   54</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65c">DataLayoutType</a> : int {</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da696b031073e74bf2cb98e5ef201d4aa3">UNKNOWN</a> = 0,                </div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65ca6b99f356fe3b30a2a850b5ea897c289f">NCHW</a> = 1,</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65cad066db54b89b0912e7e7c6da51e2da51">NHWC</a> = 2,</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65ca8e1bde3c3d303163521522cf1d62f21f">ANY</a> = 3,                    </div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da44119bf3bae5d40a8d0766b91c304aac">NUM</a> = 4,                    </div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;};</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">   64</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">QuantizationType</a> : int {</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bab50339a10e1de285ac99d4c3990b8693">NONE</a> = 0,                       </div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7babc43d77a9ea8c3c15bfea9485ffdfbd7">DFP</a>,                            </div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bae036b1833c7b7210fde86c7afd97b163">AFFINE_ASYMMETRIC</a>,              </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7ba3a4d3e5596d7ee29d493aeb17cb485ff">AFFINE_PERCHANNEL_SYMMETRIC</a>,    </div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7ba161b3d9016563aba9ac190fc02ada9bb">SYMMETRIC</a>,                      </div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bad4cd0dabcf4caa22ad92fab40844c786">NA</a> = 0xff,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;};</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html">   75</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html">QuantizationParamDFP</a> {</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html#ab5afc59ec8db937b9dbfbbc10ccf2e80">   76</a></span>&#160;    std::vector&lt;int8_t&gt;  <a class="code" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html#ab5afc59ec8db937b9dbfbbc10ccf2e80">fl</a>;                </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;};</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html">   81</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html">QuantizationParamAffineAsymmetric</a> {</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#a031f0773ade74a497d76217ead0fe431">   82</a></span>&#160;    std::vector&lt;uint32_t&gt;  <a class="code" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#a031f0773ade74a497d76217ead0fe431">zero_point</a>;      </div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#ad172d714065755a3dbb38637f6d0b4aa">   83</a></span>&#160;    std::vector&lt;float&gt;     <a class="code" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#ad172d714065755a3dbb38637f6d0b4aa">scale</a>;           </div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;};</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_symmetric.html">   88</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structrk_1_1nn_1_1_quantization_param_symmetric.html">QuantizationParamSymmetric</a> {</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_quantization_param_symmetric.html#ad172d714065755a3dbb38637f6d0b4aa">   89</a></span>&#160;    std::vector&lt;float&gt;     <a class="code" href="structrk_1_1nn_1_1_quantization_param_symmetric.html#ad172d714065755a3dbb38637f6d0b4aa">scale</a>;           </div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;};</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html">   94</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structrk_1_1nn_1_1_tensor_attr.html">TensorAttr</a> {</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a9b45b3e13bd9167aab02e17e08916231">   95</a></span>&#160;    std::string <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a9b45b3e13bd9167aab02e17e08916231">name</a>;                                               </div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a8b02b30ba257186bc1996e5692b5140e">   96</a></span>&#160;    std::vector&lt;uint32_t&gt; <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a8b02b30ba257186bc1996e5692b5140e">dims</a>;                                     </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a475d6b106a1843d12020b3b9749f70c8">   97</a></span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">PrecisionType</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a475d6b106a1843d12020b3b9749f70c8">precision</a>;                                        </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a3e351601ce2a4a65f7944e445f3a32af">   98</a></span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65c">DataLayoutType</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a3e351601ce2a4a65f7944e445f3a32af">layout</a>;                                          </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a7e946db3da2bfbc7db84110545bbd36e">   99</a></span>&#160;    <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">TensorRole</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a7e946db3da2bfbc7db84110545bbd36e">role</a>;                                                </div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a0e338a8c60f7460faa3c4c0aa15c6138">  101</a></span>&#160;    <a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">QuantizationType</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a0e338a8c60f7460faa3c4c0aa15c6138">qntType</a>;                                       </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#af14b7858244241bad436bf53b584a990">  102</a></span>&#160;    uint8_t <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#af14b7858244241bad436bf53b584a990">qntBits</a>;                                                </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a1a1177b39d4b7b112020aa458bbd2101">  103</a></span>&#160;    <a class="code" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html">QuantizationParamDFP</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a1a1177b39d4b7b112020aa458bbd2101">qntParamDFP</a>;                               </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#a65f890e878032135fd44391eb03343f3">  104</a></span>&#160;    <a class="code" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html">QuantizationParamAffineAsymmetric</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#a65f890e878032135fd44391eb03343f3">qntParamAffineAsymmetric</a>;     </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structrk_1_1nn_1_1_tensor_attr.html#aa689c46368687d8ced3ce4a0c5a5044d">  105</a></span>&#160;    <a class="code" href="structrk_1_1nn_1_1_quantization_param_symmetric.html">QuantizationParamSymmetric</a> <a class="code" href="structrk_1_1nn_1_1_tensor_attr.html#aa689c46368687d8ced3ce4a0c5a5044d">qntParamSymmetric</a>;                   </div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;};</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classrk_1_1nn_1_1_tensor.html">  111</a></span>&#160;<span class="keyword">class </span><a class="code" href="classrk_1_1nn_1_1_tensor.html">Tensor</a></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;{</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <span class="comment">// The default constructor, do not call it directly.</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="classrk_1_1nn_1_1_tensor.html">Tensor</a>(<span class="comment">/* args */</span>) = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    ~<a class="code" href="classrk_1_1nn_1_1_tensor.html">Tensor</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">virtual</span> std::vector&lt;uint32_t&gt; GetDims() = 0;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">PrecisionType</a> GetPrecision() = 0;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">virtual</span> std::string&amp; GetName() = 0;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">TensorRole</a> GetRole() = 0;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> std::shared_ptr&lt;const TensorAttr&gt; GetAttrs()  = 0;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">void</span>* GetData() = 0;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetPrecision(<a class="code" href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">PrecisionType</a> precision) = 0;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetName(std::string &amp;name) = 0;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetRole(<a class="code" href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">TensorRole</a> role) = 0;</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetQntParam(<a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">QuantizationType</a> type, uint8_t bits, <a class="code" href="structrk_1_1nn_1_1_quantization_param_d_f_p.html">QuantizationParamDFP</a> &amp;dfp) = 0;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetQntParam(<a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">QuantizationType</a> type, uint8_t bits, <a class="code" href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html">QuantizationParamAffineAsymmetric</a> &amp;affine_asymmetric) = 0;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> SetQntParam(<a class="code" href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">QuantizationType</a> type, uint8_t bits, <a class="code" href="structrk_1_1nn_1_1_quantization_param_symmetric.html">QuantizationParamSymmetric</a> &amp;symmetric) = 0;</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;};</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;}</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;}</div><div class="ttc" id="namespacerk_1_1nn_html_ab7117a78440b149f5bec3994079bb08bad6f4440b8633f973d33c78928bdac2e1"><div class="ttname"><a href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bad6f4440b8633f973d33c78928bdac2e1">rk::nn::TensorRole::VAR</a></div><div class="ttdoc">middle tensor </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a208f6d2ebb490c7877041482cf7da65c"><div class="ttname"><a href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65c">rk::nn::DataLayoutType</a></div><div class="ttdeci">DataLayoutType</div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00054">tensor.h:54</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da44119bf3bae5d40a8d0766b91c304aac"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da44119bf3bae5d40a8d0766b91c304aac">rk::nn::PrecisionType::NUM</a></div><div class="ttdoc">number of fields. </div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a8b02b30ba257186bc1996e5692b5140e"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a8b02b30ba257186bc1996e5692b5140e">rk::nn::TensorAttr::dims</a></div><div class="ttdeci">std::vector&lt; uint32_t &gt; dims</div><div class="ttdoc">shape of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00096">tensor.h:96</a></div></div>
<div class="ttc" id="types_8h_html"><div class="ttname"><a href="types_8h.html">types.h</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a1a1177b39d4b7b112020aa458bbd2101"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a1a1177b39d4b7b112020aa458bbd2101">rk::nn::TensorAttr::qntParamDFP</a></div><div class="ttdeci">QuantizationParamDFP qntParamDFP</div><div class="ttdoc">Meanful in dynamic fixed point. </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00103">tensor.h:103</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da967d280b5c16d95f2947647dd2ca6cc2"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da967d280b5c16d95f2947647dd2ca6cc2">rk::nn::PrecisionType::FLOAT32</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965daecfc091ed2a607335524c8389cfa41b5"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965daecfc091ed2a607335524c8389cfa41b5">rk::nn::PrecisionType::UINT8</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da4e866b275c85fbb439f6484251cfb31c"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da4e866b275c85fbb439f6484251cfb31c">rk::nn::PrecisionType::INT64</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a475d6b106a1843d12020b3b9749f70c8"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a475d6b106a1843d12020b3b9749f70c8">rk::nn::TensorAttr::precision</a></div><div class="ttdeci">PrecisionType precision</div><div class="ttdoc">precision of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00097">tensor.h:97</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a0e338a8c60f7460faa3c4c0aa15c6138"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a0e338a8c60f7460faa3c4c0aa15c6138">rk::nn::TensorAttr::qntType</a></div><div class="ttdeci">QuantizationType qntType</div><div class="ttdoc">quantization type of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00101">tensor.h:101</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_affine_asymmetric_html_a031f0773ade74a497d76217ead0fe431"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#a031f0773ade74a497d76217ead0fe431">rk::nn::QuantizationParamAffineAsymmetric::zero_point</a></div><div class="ttdeci">std::vector&lt; uint32_t &gt; zero_point</div><div class="ttdoc">zero point </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00082">tensor.h:82</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965d"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965d">rk::nn::PrecisionType</a></div><div class="ttdeci">PrecisionType</div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00035">tensor.h:35</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7bae036b1833c7b7210fde86c7afd97b163"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bae036b1833c7b7210fde86c7afd97b163">rk::nn::QuantizationType::AFFINE_ASYMMETRIC</a></div><div class="ttdoc">affine asymmetric </div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_affine_asymmetric_html"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html">rk::nn::QuantizationParamAffineAsymmetric</a></div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00081">tensor.h:81</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da05afd9eb8887a406d47474cd3809a5dd"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da05afd9eb8887a406d47474cd3809a5dd">rk::nn::PrecisionType::BOOL8</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a3e351601ce2a4a65f7944e445f3a32af"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a3e351601ce2a4a65f7944e445f3a32af">rk::nn::TensorAttr::layout</a></div><div class="ttdeci">DataLayoutType layout</div><div class="ttdoc">data layout of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00098">tensor.h:98</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_symmetric_html_ad172d714065755a3dbb38637f6d0b4aa"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_symmetric.html#ad172d714065755a3dbb38637f6d0b4aa">rk::nn::QuantizationParamSymmetric::scale</a></div><div class="ttdeci">std::vector&lt; float &gt; scale</div><div class="ttdoc">scale </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00089">tensor.h:89</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_affine_asymmetric_html_ad172d714065755a3dbb38637f6d0b4aa"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_affine_asymmetric.html#ad172d714065755a3dbb38637f6d0b4aa">rk::nn::QuantizationParamAffineAsymmetric::scale</a></div><div class="ttdeci">std::vector&lt; float &gt; scale</div><div class="ttdoc">scale </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00083">tensor.h:83</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a208f6d2ebb490c7877041482cf7da65ca6b99f356fe3b30a2a850b5ea897c289f"><div class="ttname"><a href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65ca6b99f356fe3b30a2a850b5ea897c289f">rk::nn::DataLayoutType::NCHW</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7ba161b3d9016563aba9ac190fc02ada9bb"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7ba161b3d9016563aba9ac190fc02ada9bb">rk::nn::QuantizationType::SYMMETRIC</a></div><div class="ttdoc">symmetric </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da6de7acf711860176ba606e9aa2b85d5f"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da6de7acf711860176ba606e9aa2b85d5f">rk::nn::PrecisionType::UINT64</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a65f890e878032135fd44391eb03343f3"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a65f890e878032135fd44391eb03343f3">rk::nn::TensorAttr::qntParamAffineAsymmetric</a></div><div class="ttdeci">QuantizationParamAffineAsymmetric qntParamAffineAsymmetric</div><div class="ttdoc">Meanful in affine asymmetric. </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00104">tensor.h:104</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da48d8f1a723d44ff4a87db1bb6c551c62"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da48d8f1a723d44ff4a87db1bb6c551c62">rk::nn::PrecisionType::UINT16</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_symmetric_html"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_symmetric.html">rk::nn::QuantizationParamSymmetric</a></div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00088">tensor.h:88</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a208f6d2ebb490c7877041482cf7da65ca8e1bde3c3d303163521522cf1d62f21f"><div class="ttname"><a href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65ca8e1bde3c3d303163521522cf1d62f21f">rk::nn::DataLayoutType::ANY</a></div><div class="ttdoc">any data layout </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_ab7117a78440b149f5bec3994079bb08bae44f9e348e41cb272efa87387728571b"><div class="ttname"><a href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bae44f9e348e41cb272efa87387728571b">rk::nn::TensorRole::DATA</a></div><div class="ttdoc">input &amp; output tensor </div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html">rk::nn::TensorAttr</a></div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00094">tensor.h:94</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a208f6d2ebb490c7877041482cf7da65cad066db54b89b0912e7e7c6da51e2da51"><div class="ttname"><a href="namespacerk_1_1nn.html#a208f6d2ebb490c7877041482cf7da65cad066db54b89b0912e7e7c6da51e2da51">rk::nn::DataLayoutType::NHWC</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965dac49f280a5ad551ccc77be0b01a2f386a"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965dac49f280a5ad551ccc77be0b01a2f386a">rk::nn::PrecisionType::FLOAT16</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_d_f_p_html_ab5afc59ec8db937b9dbfbbc10ccf2e80"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_d_f_p.html#ab5afc59ec8db937b9dbfbbc10ccf2e80">rk::nn::QuantizationParamDFP::fl</a></div><div class="ttdeci">std::vector&lt; int8_t &gt; fl</div><div class="ttdoc">fractional length </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00076">tensor.h:76</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7bab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bab50339a10e1de285ac99d4c3990b8693">rk::nn::QuantizationType::NONE</a></div><div class="ttdoc">none quantized </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7babc43d77a9ea8c3c15bfea9485ffdfbd7"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7babc43d77a9ea8c3c15bfea9485ffdfbd7">rk::nn::QuantizationType::DFP</a></div><div class="ttdoc">dynamic fixed point </div></div>
<div class="ttc" id="structrk_1_1nn_1_1_quantization_param_d_f_p_html"><div class="ttname"><a href="structrk_1_1nn_1_1_quantization_param_d_f_p.html">rk::nn::QuantizationParamDFP</a></div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00075">tensor.h:75</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_aa689c46368687d8ced3ce4a0c5a5044d"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#aa689c46368687d8ced3ce4a0c5a5044d">rk::nn::TensorAttr::qntParamSymmetric</a></div><div class="ttdeci">QuantizationParamSymmetric qntParamSymmetric</div><div class="ttdoc">Meanful in symmetric. </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00105">tensor.h:105</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a7e946db3da2bfbc7db84110545bbd36e"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a7e946db3da2bfbc7db84110545bbd36e">rk::nn::TensorAttr::role</a></div><div class="ttdeci">TensorRole role</div><div class="ttdoc">role of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00099">tensor.h:99</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da17266551181f69a1b4a3ad5c9e270afc"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da17266551181f69a1b4a3ad5c9e270afc">rk::nn::PrecisionType::UINT32</a></div></div>
<div class="ttc" id="classrk_1_1nn_1_1_tensor_html"><div class="ttname"><a href="classrk_1_1nn_1_1_tensor.html">rk::nn::Tensor</a></div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00111">tensor.h:111</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7bad4cd0dabcf4caa22ad92fab40844c786"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7bad4cd0dabcf4caa22ad92fab40844c786">rk::nn::QuantizationType::NA</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965daee9d73311ff0658494edfff14c3ec1e3"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965daee9d73311ff0658494edfff14c3ec1e3">rk::nn::PrecisionType::INT8</a></div></div>
<div class="ttc" id="namespacerk_html"><div class="ttname"><a href="namespacerk.html">rk</a></div><div class="ttdef"><b>Definition:</b> <a href="exection_8h_source.html#l00017">exection.h:17</a></div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_a9b45b3e13bd9167aab02e17e08916231"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#a9b45b3e13bd9167aab02e17e08916231">rk::nn::TensorAttr::name</a></div><div class="ttdeci">std::string name</div><div class="ttdoc">name of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00095">tensor.h:95</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da5f90af42814c0a419d715d43ae54fd7a"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da5f90af42814c0a419d715d43ae54fd7a">rk::nn::PrecisionType::INT16</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_ab7117a78440b149f5bec3994079bb08b"><div class="ttname"><a href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08b">rk::nn::TensorRole</a></div><div class="ttdeci">TensorRole</div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00027">tensor.h:27</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da139882c654db8a57f7c3092de1dd0b02"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da139882c654db8a57f7c3092de1dd0b02">rk::nn::PrecisionType::FLOAT64</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da696b031073e74bf2cb98e5ef201d4aa3"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da696b031073e74bf2cb98e5ef201d4aa3">rk::nn::PrecisionType::UNKNOWN</a></div><div class="ttdoc">unknown precision </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_ab7117a78440b149f5bec3994079bb08bab4f1540c6f7bdeebaa42943a2405478d"><div class="ttname"><a href="namespacerk_1_1nn.html#ab7117a78440b149f5bec3994079bb08bab4f1540c6f7bdeebaa42943a2405478d">rk::nn::TensorRole::CONST</a></div><div class="ttdoc">const tensor </div></div>
<div class="ttc" id="structrk_1_1nn_1_1_tensor_attr_html_af14b7858244241bad436bf53b584a990"><div class="ttname"><a href="structrk_1_1nn_1_1_tensor_attr.html#af14b7858244241bad436bf53b584a990">rk::nn::TensorAttr::qntBits</a></div><div class="ttdeci">uint8_t qntBits</div><div class="ttdoc">quantization bits of tensor </div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00102">tensor.h:102</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7ba3a4d3e5596d7ee29d493aeb17cb485ff"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7ba3a4d3e5596d7ee29d493aeb17cb485ff">rk::nn::QuantizationType::AFFINE_PERCHANNEL_SYMMETRIC</a></div><div class="ttdoc">affine perchannel symmetric </div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a0a46b5533bfcf042c3091803849e5e7b"><div class="ttname"><a href="namespacerk_1_1nn.html#a0a46b5533bfcf042c3091803849e5e7b">rk::nn::QuantizationType</a></div><div class="ttdeci">QuantizationType</div><div class="ttdef"><b>Definition:</b> <a href="tensor_8h_source.html#l00064">tensor.h:64</a></div></div>
<div class="ttc" id="namespacerk_1_1nn_html_a13c421245f43fd2d7edd0e94c537965da6495adba09844fac8eeb0aba86e6f1bf"><div class="ttname"><a href="namespacerk_1_1nn.html#a13c421245f43fd2d7edd0e94c537965da6495adba09844fac8eeb0aba86e6f1bf">rk::nn::PrecisionType::INT32</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
